﻿//绘画3D柱形图
//参数含义(传递的数组，横坐标，纵坐标，柱子的厚度，柱子的宽度，图表的宽度，图表的高度,图表的类型,图表颜色:浅色调,图表颜色:深色调)
//图表类型参数：'A'代表纵向显示，'B'代表横向显示
//纯ASP代码生成图表函数1??柱状图
//作者：龚鸣(Passwordgm) QQ:25968152 MSN:passwordgm@sina.com Email:passwordgm@sina.com
//本人非常愿意和ASP,VML,FLASH的爱好者在HTTP://topclouds.126.com进行交流和探讨
//版本2.0 最后修改日期 2003-7-22
//非常感谢您使用这个函数，请您使用和转载时保留版权信息，这是对作者工作的最好的尊重。
//***************************************************************************************
//修改说明：
//    本代码经原作者同意，由 awaysrain（绝对零度）修改为javascript。
//    最后修改日期 2003-9-22，测试环境为IE 6.0.2500.1106
//    因本人水平有限，修改中难免有错误，请大家及时指正。  
//***************************************************************************************
/*
调用示列：
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<!--[if !mso]>
<style>
v\:*         { behavior: url(#default#VML) }
o\:*         { behavior: url(#default#VML) }
.shape       { behavior: url(#default#VML) }
</style>
<![endif]-->

<script language=javascript>
	//=============调用方法=====================
	var dataArray = new Array()
	dataArray[0]=200
	dataArray[1]=800
	dataArray[2]=1000
	dataArray[3]=600
	dataArray[4]=1222
	dataArray[5]=1000
	dataArray[6]=400
	dataArray[7]=80
	dataArray[8]=800
	dataArray[9]=100
	dataArray[10]=200
	dataArray[11]=458
					
	var nameArray = new Array()
	nameArray[0]="1月"
	nameArray[1]="2月"
	nameArray[2]="3月"
	nameArray[3]="4月"
	nameArray[4]="5月"
	nameArray[5]="6月"
	nameArray[6]="7月"
	nameArray[7]="8月"
	nameArray[8]="9月"
	nameArray[9]="10月"
	nameArray[10]="11月"
	nameArray[11]="12月"
	var total= new Array(dataArray,nameArray)

	var color1 = new Array();
	color1[0] = "#d1ffd1";
	color1[1] = "#ffbbbb";
	color1[2] = "#ffe3bb";
	color1[3] = "#cff4f3";
	color1[4] = "#d9d9e5";
	color1[5] = "#ffc7ab";
	color1[6] = "#ecffb7";
	color1[7] = "#ffff99";
	color1[8] = "#999999";
	color1[9] = "##CC6699";
	color1[10] = "##00FFCC";
	color1[11] = "#CC3399";

	var color2 = new Array();
	color2[0] = "#00ff00";
	color2[1] = "#ff0000";
	color2[2] = "#ff9900";
	color2[3] = "#33cccc";
	color2[4] = "#666699";
	color2[5] = "#993300";
	color2[6] = "#99cc00";
	color2[7] = "#ffff00";
	color2[8] = "#000000";
	color2[9] = "##CC0099";
	color2[10] = "#0099CC";
	color2[11] = "#800040";

	drawPole(total,5,270,20,30,850,250,"A",color1,color2);
    drawPole(total,200,320,20,20,400,250,"B",color1,color2);
</script>
*/
function drawPole(total,table_x,table_y,thickness,table_width,all_width,all_height,table_type,color1,color2){
	var tmdColor1 = color1
	//var tmdColor1 = new Array()
	//tmdColor1[0] = "#d1ffd1";
	//tmdColor1[1] = "#ffbbbb";
	//tmdColor1[2] = "#ffe3bb";
	//tmdColor1[3] = "#cff4f3";
	//tmdColor1[4] = "#d9d9e5";
	//tmdColor1[5] = "#ffc7ab";
	//tmdColor1[6] = "#ecffb7";
	//tmdColor1[7] = "#d1ffd1";
	//tmdColor1[8] = "#ffbbbb";

	var tmdColor2 = color2
	//var tmdColor2 = new Array();
	//tmdColor2[0] = "#00ff00";
	//tmdColor2[1] = "#ff0000";
	//tmdColor2[2] = "#ff9900";
	//tmdColor2[3] = "#33cccc";
	//tmdColor2[4] = "#666699";
	//tmdColor2[5] = "#993300";
	//tmdColor2[6] = "#99cc00";
	//tmdColor2[7] = "#00ff00";
	//tmdColor2[8] = "#ff0000";
	var tb_color = new Array(tmdColor1,tmdColor2);
	var line_color = "#69f";
	var left_width = 70;
	var length = thickness/2;
	var total_no = total[0].length;
	var temp1 = 0;
	var temp2,temp4,temp4;

	for(var i = 0;i<total_no;i++)
	{
 		if(temp1<total[0][i])
 		{
  			temp1 = total[0][i];
 		}
	}
	temp1 = parseInt(temp1.toString());

	if(temp1>9)
	{  
 		temp2 = temp1.toString().substr(1,1)
 		if(temp2>4)
 		{
  			temp3 = (parseInt((temp1/(Math.pow(10,(temp1.toString().length-1)))).toString())+1)*Math.pow(10,(temp1.toString().length-1));
 		}
 		else
 		{
  			temp3 = (parseInt((temp1/(Math.pow(10,(temp1.toString().length-1)))).toString())+0.5)*Math.pow(10,(temp1.toString().length-1));
 		} 
	} 
	else
	{
 		if(temp1>4) temp3 = 10; 
 			else temp3 = 5;
	}
	temp4=temp3
	document.write("<!--[if gte vml 1]><v:rect id='_x0000_s1027' alt='' style='position:absolute;left:" + (table_x+left_width) + "px;top:" + table_y + "px;width:" + all_width + "px;height:" + all_height + "px;z-index:-1' fillcolor='#9cf' stroked='f'><v:fill rotate='t' angle='-45' focus='100%' type='gradient'/></v:rect><![endif]-->");
	document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width) + "px," + (table_y+all_height) + "px' to='" + (table_x+all_width+left_width) + "px," + (table_y+all_height) + "px'/><![endif]-->");
	document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width) + "px," + table_y + "px' to='" + (table_x+left_width) + "px," + (table_y+all_height) + "px'/><![endif]-->");

	switch (table_type)
	{
 		case "A": 
  			var table_space = (all_width-table_width*total_no)/total_no;
 			document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width+length) + "px,"+ table_y + "px' to='" + (table_x+left_width+length) + "px," + (table_y+all_height-length) + "px' strokecolor='" + line_color + "'/><![endif]-->");
	 		for(var i=0;i<=all_height-1;i+= all_height/5)
 			{
  				document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width)+ "px," + (table_y+all_height-length-i) + "px' to='" + (table_x+left_width+length) + "px," + (table_y+all_height-i) +"px' strokecolor='" + line_color + "'/><![endif]-->");
  				document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width+length) + "px," + (table_y+all_height-length-i) + "px' to='" + (table_x+all_width+left_width) + "px," + (table_y+all_height-length-i) + "px' strokecolor='" + line_color + "'/><![endif]-->");
  				document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+(left_width-15)) + "px," + (table_y+i) + "px' to='" + (table_x+left_width) + "px," + (table_y+i) + "px'/><![endif]-->");
  				document.write("<!--[if gte vml 1]>");
  				document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + table_x + "px;top:" + (table_y+i) + "px;width:" + left_width + "px;height:18px;z-index:1'>");
  				document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='right'>" + temp4 + "</td></tr></table></v:textbox></v:shape><![endif]-->");
  				temp4 = temp4-temp3/5;
 			}
 			for(var i=0;i<total_no;i++)
 			{
  				var temp_space = table_x + left_width + table_space / 2 + table_space * i + table_width * i;  
  				document.write("<v:rect id='_x0000_s1025' alt='' style='position:absolute;left:");
  				document.write(temp_space);
  				document.write("px;top:");
  				document.write(table_y + all_height * (1 - (total[0][i] / temp3)));
  				document.write("px;width:" + table_width + "px;height:" + all_height * (total[0][i] / temp3) + "px;z-index:1' fillcolor='" + tb_color[1][i] + "'>");
  				document.write("<v:fill color2='" + tb_color[0][i] + "' rotate='t' type='gradient'/>")
  				document.write("<o:extrusion v:ext='view' backdepth='" + thickness + "pt' color='" + tb_color[1][i] + "' on='t'/>");
  				document.write("</v:rect>");
  				document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + temp_space + "px;top:" + (table_y+all_height*(1-(total[0][i]/temp3))-table_width) + "px;width:" + (table_space+15) + "px;height:18px;z-index:1'>");
  				document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='center'>" + total[0][i] + "</td></tr></table></v:textbox></v:shape>");
  				document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (temp_space-table_space/2) + "px;top:" + (table_y+all_height+1) + "px;width:" + (table_space+table_width) + "px;height:18px;z-index:1'>");
  				document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='center'>" + total[1][i] + "</td></tr></table></v:textbox></v:shape>");
 			}
			break;

		case "B":
 			var table_space = (all_height - table_width * total_no) / total_no;
 			document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width+length) + "px," + (table_y+all_height-length) + "px' to='" + (table_x+left_width+all_width) + "px," + (table_y+all_height-length) + "px' strokecolor='" + line_color + "'/><![endif]-->");
 			for(var i=0;i<=all_width-1;i +=all_width/5)
 			{
  				document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width+i) + "px," + (table_y+all_height-length) + "px' to='" + (table_x+left_width+length+i) + "px," + (table_y+all_height) + "px' strokecolor='" + line_color + "'/><![endif]-->");
  				document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width+length+i) + "px," + (table_y+all_height-length) + "px' to='" + (table_x+left_width+length+i) + "px," + table_y + "px' strokecolor='" + line_color + "'/><![endif]-->");
  				document.write("<!--[if gte vml 1]><v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x+left_width+i+all_width/5) + "px," + (table_y+all_height) + "px' to='" + (table_x+left_width+i+all_width/5) + "px," + (table_y+all_height+15) + "px'/><![endif]-->");
  				document.write("<!--[if gte vml 1]>");
  				document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (table_x+left_width+i+all_width/5-left_width) + "px;top:" + (table_y+all_height) + "px;width:" + left_width + "px;height:18px;z-index:1'>");
  				document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='right'>" + temp4 + "</td></tr></table></v:textbox></v:shape><![endif]-->");
  				temp4 = temp4 - temp3 / 5;
 			}
 			for(var i=0;i<total_no;i++)
 			{
  				var temp_space = table_space/2 + table_space * i + table_width * i;
  				document.write("<v:rect id='_x0000_s1025' alt='' style='position:absolute;left:");
  				document.write(table_x + left_width);
  				document.write("px;top:");
  				document.write(table_y + temp_space);
  				document.write("px;width:" + all_width * (total[0][i] / temp3) + "px;height:" + table_width + "px;z-index:1' fillcolor='" + tb_color[1][i] + "'>");
  				document.write("<v:fill color2='" + tb_color[0][i] + "' rotate='t' angle='-90' focus='100%' type='gradient'/>");
  				document.write("<o:extrusion v:ext='view' backdepth='" + thickness + "pt' color='" + tb_color[1][i] + "' on='t'/>");
  				document.write("</v:rect>");
  				document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (table_x + left_width + all_width * (total[0][i] / temp3) + thickness / 2) + "px;top:" + (table_y + temp_space) + "px;width:" + (table_space + 15) + "px;height:18px;z-index:1'>");
  				document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='center'>" + total[0][i] + "</td></tr></table></v:textbox></v:shape>");
  	 			document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + table_x + "px;top:" + (table_y + temp_space) + "px;width:" + left_width + "px;height:18px;z-index:1'>");
  				document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='right'>" + total[1][i] + "</td></tr></table></v:textbox></v:shape>");
 			}
 
 	}
}

//绘画2D的饼图
//参数含义(传递的数组，横坐标，纵坐标，柱子的厚度，柱子的宽度，图表的宽度，图表的高度,图表的类型,图表颜色:浅色调,图表颜色:深色调)
//图表类型参数：'A'代表列表统计的饼图，'B'代表引线标注的饼图
//纯ASP代码生成图表函数3??饼图
//作者：龚鸣(Passwordgm) QQ:25968152 MSN:passwordgm@sina.com Email:passwordgm@sina.com
//本人非常愿意和ASP,VML,FLASH的爱好者在HTTP://topclouds.126.com进行交流和探讨
//版本1.0 最后修改日期 2003-8-11
//非常感谢您使用这个函数，请您使用和转载时保留版权信息，这是对作者工作的最好的尊重。
//***************************************************************************************
//修改说明：
//    本代码经原作者同意，由 awaysrain（绝对零度）修改为javascript。
//    最后修改日期 2003-9-22，测试环境为IE 6.0.2500.1106
//    因本人水平有限，修改中难免有错误，请大家及时指正。  
//***************************************************************************************
/*
调用示列：
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<!--[if !mso]>
<style>
v\:*         { behavior: url(#default#VML) }
o\:*         { behavior: url(#default#VML) }
.shape       { behavior: url(#default#VML) }
</style>
<![endif]-->

<script language=javascript>
	//=============调用方法=====================
	var dataArray = new Array()
	dataArray[0]=200
	dataArray[1]=800
	dataArray[2]=1000
	dataArray[3]=600
	dataArray[4]=1222
	dataArray[5]=1000
	dataArray[6]=400
	dataArray[7]=80
	dataArray[8]=800
	dataArray[9]=100
	dataArray[10]=200
	dataArray[11]=458
					
	var nameArray = new Array()
	nameArray[0]="1月"
	nameArray[1]="2月"
	nameArray[2]="3月"
	nameArray[3]="4月"
	nameArray[4]="5月"
	nameArray[5]="6月"
	nameArray[6]="7月"
	nameArray[7]="8月"
	nameArray[8]="9月"
	nameArray[9]="10月"
	nameArray[10]="11月"
	nameArray[11]="12月"
	var total= new Array(dataArray,nameArray)

	var color1 = new Array();
	color1[0] = "#d1ffd1";
	color1[1] = "#ffbbbb";
	color1[2] = "#ffe3bb";
	color1[3] = "#cff4f3";
	color1[4] = "#d9d9e5";
	color1[5] = "#ffc7ab";
	color1[6] = "#ecffb7";
	color1[7] = "#ffff99";
	color1[8] = "#999999";
	color1[9] = "##CC6699";
	color1[10] = "##00FFCC";
	color1[11] = "#CC3399";

	var color2 = new Array();
	color2[0] = "#00ff00";
	color2[1] = "#ff0000";
	color2[2] = "#ff9900";
	color2[3] = "#33cccc";
	color2[4] = "#666699";
	color2[5] = "#993300";
	color2[6] = "#99cc00";
	color2[7] = "#ffff00";
	color2[8] = "#000000";
	color2[9] = "##CC0099";
	color2[10] = "#0099CC";
	color2[11] = "#800040";

	drawCakyChart(total,200,40,20,30,850,250,"A",color1,color2);
    drawCakyChart(total,300,450,20,20,400,250,"B",color1,color2);
</script>
*/
function drawCakyChart(total,table_x,table_y,all_width,all_height,table_type,color1,color2)
{

	var tmdColor1 = color1
	//var tmdColor1 = new Array()
	//tmdColor1[0] = "#d1ffd1";
	//tmdColor1[1] = "#ffbbbb";
	//tmdColor1[2] = "#ffe3bb";
	//tmdColor1[3] = "#cff4f3";
	//tmdColor1[4] = "#d9d9e5";
	//tmdColor1[5] = "#ffc7ab";
	//tmdColor1[6] = "#ecffb7";
	//tmdColor1[7] = "#d1ffd1";
	//tmdColor1[8] = "#ffbbbb";

	var tmdColor2 = color2
	//var tmdColor2 = new Array();
	//tmdColor2[0] = "#00ff00";
	//tmdColor2[1] = "#ff0000";
	//tmdColor2[2] = "#ff9900";
	//tmdColor2[3] = "#33cccc";
	//tmdColor2[4] = "#666699";
	//tmdColor2[5] = "#993300";
	//tmdColor2[6] = "#99cc00";
	//tmdColor2[7] = "#00ff00";
	//tmdColor2[8] = "#ff0000";
 
 	var tb_color = new Array(tmdColor1,tmdColor2);
 	var tb_height = 30;
 	var total_no = total[0].length;
 	var totalpie = 0;
 	for(var i=0;i<total_no;i++)
 	{
  		totalpie += total[1][i];
 	}
 
 	var PreAngle = 0;
 	for(var i=0;i<total_no;i++)
 	{ 
  		document.write("<v:shape id='_x0000_s1025' alt='' style='position:absolute;left:" + table_x + "px;top:" + table_y + "px;width:" + all_width + "px;height:" + all_height + "px;z-index:1' coordsize='1500,1400' o:spt='100' adj='0,,0' path='m750,700ae750,700,750,700," + parseInt(23592960*PreAngle) + "," + parseInt(23592960*total[1][i]/totalpie) + "xe' fillcolor='" + tb_color[0][i] + "' strokecolor='#FFFFFF'><v:fill color2='" + tb_color[1][i] + "' rotate='t' focus='100%' type='gradient'/><v:stroke joinstyle='round'/><v:formulas/><v:path o:connecttype='segments'/></v:shape>");
  		PreAngle += total[1][i] / totalpie;
 	}
 
 	if(table_type=="A")
 	{
  		document.write("<v:rect id='_x0000_s1025' style='position:absolute;left:" + (table_x + all_width + 20) + "px;top:" + (table_y + 20) + "px;width:100px;height:" + (total_no * tb_height + 20) + "px;z-index:1'/>");
  		for(var i=0;i<total_no;i++)
  		{   
   			document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (table_x + all_width + 25) + "px;top:" + (table_y+30+(i)*tb_height) + "px;width:60px;height:" + tb_height + "px;z-index:1'>");
   			document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>" + total[0][i] + "</td></tr></table></v:textbox></v:shape>");
   			document.write("<v:rect id='_x0000_s1040' alt='' style='position:absolute;left:" + (table_x + all_width + 80) + "px;top:" + (table_y + 30 + (i)*tb_height+3) + "px;width:30px;height:20px;z-index:1' fillcolor='" + tb_color[0][i] + "'><v:fill color2='" + tb_color[1][i] + "' rotate='t' focus='100%' type='gradient'/></v:rect>");
   			//显示比例数
   			//document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (table_x+all_width+110) + "px;top:" + (table_y+30+(i)*tb_height) + "px;width:60px;height:" + tb_height + "px;z-index:1'>");
   			//document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>" + Math.round(parseFloat(total[1][i]*100/totalpie)*100)/100 + "%</td></tr></table></v:textbox></v:shape>");
  		}
 	}
 
 	if(table_type == "B")
 	{
  		var pie = 3.14159265358979;
  		var TempPie = 0;
  		for(var i=0;i<total_no;i++)
  		{
   			var TempAngle = pie * 2 * (total[1][i] / (totalpie * 2) + TempPie);
   			var x1 = table_x + all_width/2 + Math.cos(TempAngle) * all_width * 3/8;
   			var y1 = table_y + all_height/2 - Math.sin(TempAngle) * all_height * 3/8;
   			var x2 = table_x + all_width/2 + Math.cos(TempAngle) * all_width * 3/4;
   			var y2 = table_y + all_height/2 - Math.sin(TempAngle) * all_height * 3/4;
 
   			if(x2>table_x + all_width/2)
   			{
    			x3 = x2 + 20;
    			x4 = x3;
   			}
   			else
   			{
    			x3 = x2 - 20;
    			x4 = x3 - 100;
   			}
   			document.write("<v:oval id='_x0000_s1027' style='position:absolute;left:" + (x1 - 2) + "px;top:" + (y1 - 2) + "px;width:4px;height:4px; z-index:2' fillcolor='#111111' strokecolor='#111111'/>");
   			document.write("<v:line id='_x0000_s1025' alt='' style='position:absolute;left:0;text-align:left;top:0;z-index:1' from='" + x1 + "px," + y1 + "px' to='" + x2 + "px," + y2 + "px' coordsize='21600,21600' strokecolor='#111111' strokeweight='1px'></v:line>");
   			document.write("<v:line id='_x0000_s1025' alt='' style='position:absolute;left:0;text-align:left;top:0;z-index:1' from='" + x2 + "px," + y2 + "px' to='" + x3 + "px," + y2 + "px' coordsize='21600,21600' strokecolor='#111111' strokeweight='1px'></v:line>");
   			document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + x4 + "px;top:" + (y2 - 10) + "px;width:100px;height:20px;z-index:1'>");
   			document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>" + total[0][i] + " " + Math.round(parseFloat(total[1][i] * 100/ totalpie)*100)/100 + "%</td></tr></table></v:textbox></v:shape>")
   			TempPie += total[1][i]/totalpie;  
  		}
 	}
}

//绘画2D折线图
//参数含义(传递的数组，横坐标，纵坐标，图表的宽度，图表的高度,折线条数)
//纯ASP代码生成图表函数2??折线图
//作者：龚鸣(Passwordgm) QQ:25968152 MSN:passwordgm@sina.com Email:passwordgm@sina.com
//本人非常愿意和ASP,VML,FLASH的爱好者在HTTP://topclouds.126.com进行交流和探讨
//版本1.0 最后修改日期 2003-8-11
//非常感谢您使用这个函数，请您使用和转载时保留版权信息，这是对作者工作的最好的尊重。
//***************************************************************************************
//修改说明：
//    本代码经原作者同意，由 awaysrain（绝对零度）修改为javascript。
//    最后修改日期 2003-9-22，测试环境为IE 6.0.2500.1106
//    因本人水平有限，修改中难免有错误，请大家及时指正。  
//***************************************************************************************
/*
调用示例：
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<!--[if !mso]>
<style>
v\:*         { behavior: url(#default#VML) }
o\:*         { behavior: url(#default#VML) }
.shape       { behavior: url(#default#VML) }
</style>
<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<style>
TD { FONT-SIZE: 9pt}
</style></head>
<body topmargin=5 leftmargin=0 scroll=AUTO>
<script language=javascript>
var nameArray = new Array();
nameArray[0]="中国经营报"
nameArray[1]="招聘网"
nameArray[2]="51Job"
nameArray[3]="新民晚报"
nameArray[4]="新闻晚报"
nameArray[5]="南方周末"
nameArray[6]="羊城晚报"
var dataArray1 = new Array()
dataArray1[0]="#FF0000,1.5,1,2,公司1"//参数1线条的颜色，参数2线条的宽度，参数3线条的类型，参数4转折点的类型,参数5线条名称
dataArray1[1]=200
dataArray1[2]=1200
dataArray1[3]=900
dataArray1[4]=600
dataArray1[5]=1222
dataArray1[6]=413
dataArray1[7]=800
var dataArray2 = new Array()
dataArray2[0]="#0000FF,1,2,3,公司2"
dataArray2[1]=400
dataArray2[2]=500
dataArray2[3]=1040
dataArray2[4]=1600
dataArray2[5]=522
dataArray2[6]=813
dataArray2[7]=980
var dataArray3 = new Array()
dataArray3[0]="#004D00,1,1,3,公司3"
dataArray3[1]=900
dataArray3[2]=890
dataArray3[3]=1240
dataArray3[4]=1300
dataArray3[5]=722
dataArray3[6]=833
dataArray3[7]=1280
var total = new Array(nameArray,dataArray1,dataArray2,dataArray3)
drawReplication(total,100,90,600,250,3);
</script>
</body>
</html>
*/
function drawReplication(total,table_x,table_y,all_width,all_height,line_no)
{
	var line_color = "#69f";
	var left_width = 70;
	var total_no = total[1].length
	var temp1,temp2,temp3
	temp1 = 0;
	for(var i=1;i<total_no;i++)
	{
 		for(var j=1;j<=line_no;j++)
 		{
  			if(temp1<total[j][i]) temp1 = total[j][i];
 		}
	}
	temp1 = parseInt(temp1);
	if(temp1>9)
	{
 		temp2 = temp1.toString().substr(1,1);
 		if(temp2>4)
 		{
  			temp3 = (parseInt(temp1/(Math.pow(10,(temp1.toString().length-1))))+1)*Math.pow(10,(temp1.toString().length-1));
 		}
 		else
 		{
  			temp3 = (praseInt(temp1/(Math.pow(10,(temp1.toString().length-1))))+0.5)*Math.pow(10,(temp1.toString().length-1))
 		}
	}
	else
	{
 		if(temp1>4)
 		{
  			emp3 = 10; 
 		}
 		else
 		{
  			temp3 = 5;
 		}
	}
	temp4 = temp3;
	document.write("<v:rect id='_x0000_s1027' alt='' style='position:absolute;left:" + (table_x + left_width) + "px;top:" + table_y + "px;width:" + all_width + "px;height:" + all_height + "px;z-index:-1' fillcolor='#9cf' stroked='f'><v:fill rotate='t' angle='-45' focus='100%' type='gradient'/></v:rect>");
	for(var i=0;i<all_height;i += all_height/5)
	{
 		document.write("<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x + left_width + length) + "px," + (table_y + all_height - length - i) + "px' to='" + (table_x + all_width + left_width) + "px," + (table_y + all_height - length - i) + "px' strokecolor='" + line_color + "'/>");
 		document.write("<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x + (left_width - 15)) + "px," + (table_y + i) + "px' to='" + (table_x + left_width) + "px," + (table_y + i) + "px'/>");
 		document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + table_x + "px;top:" + (table_y + i) + "px;width:" + left_width + "px;height:18px;z-index:1'>");
 		document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='right'>" + temp4 + "</td></tr></table></v:textbox></v:shape>");
 		temp4 = temp4 - temp3/5;
	}
	document.write("<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x + left_width) + "px," + (table_y + all_height) + "px' to='" + (table_x + all_width + left_width) + "px," + (table_y + all_height) + "px'/>");
	document.write("<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x + left_width) + "px," + table_y + "px' to='" + (table_x + left_width) + "px," + (table_y + all_height) + "px'/>");
	var tmpStr = ""
	for(i=1;i<=line_no;i++)
	{
 		var re  = /,/g;
 		tmpStr += ",[\"" + total[i][0].replace(re,"\",\"") + "\"]"
	}
	tmpStr = tmpStr.substr(1,tmpStr.length-1)
	var line_code = eval("new Array(" + tmpStr + ")")
	for(var j=1;j<=line_no;j++)
	{
 		for(var i=1;i<total_no-1;i++)
 		{
  			var x1 = table_x + left_width + all_width * (i - 1)/(total_no-1)
  			var y1 = table_y + (temp3 - total[j][i]) * (all_height/temp3)
  			var x2 = table_x + left_width + all_width * i/(total_no-1)
  			var y2 = table_y + (temp3 - total[j][i+1]) * (all_height/temp3)
  
  			document.write("<v:line id='_x0000_s1025' alt='' style='position:absolute;left:0;text-align:left;top:0;z-index:1' from='" + x1 + "px," + y1 + "px' to='" + x2 + "px," + y2 + "px' coordsize='21600,21600' strokecolor='" + line_code[j-1][0] + "' strokeweight='" + line_code[j-1][1] + "'>");
  			switch (parseInt(line_code[j-1][2]))
  			{
   				case 1:
    				break;
   				case 2:
    				document.write("<v:stroke dashstyle='1 1'/>");
    				break;
   				case 3:
    				document.write("<v:stroke dashstyle='dash'/>");
    				break;
   				case 4:
    				document.write("<v:stroke dashstyle='dashDot'/>");
    				break;
   				case 5:
    				document.write("<v:stroke dashstyle='longDash'/>");
    				break;
   				case 6:
    				document.write("<v:stroke dashstyle='longDashDot'/>");
    				break;
   				case 7:
    				document.write("<v:stroke dashstyle='longDashDotDot'/>");
    				break;
  			}
  
  			document.write("</v:line>");
  
  			switch (parseInt(line_code[j-1][3]))
  			{
   				case 1:
    				break;
   				case 2:
    				document.write("<v:rect id='_x0000_s1027' style='position:absolute;left:" + (x1 - 2) + "px;top:" + (y1 - 2) + "px;width:4px;height:4px; z-index:2' fillcolor='" + line_code[j-1][0] + "' strokecolor='" + line_code[j-1][0] + "'/>");
    				break;
   				case 3:
    				document.write("<v:oval id='_x0000_s1026' style='position:absolute;left:" + (x1 - 2) + "px;top:" + (y1 - 2) + "px;width:4px;height:4px;z-index:1' fillcolor='" + line_code[j-1][0] + "' strokecolor='" + line_code[j-1][0] + "'/>");
    				break;
  			} 
 		}
  		switch (parseInt(line_code[j-1][3]))
  		{
   			case 1:
    			break;
   			case 2:
    			document.write("<v:rect id='_x0000_s1027' style='position:absolute;left:" + (x2 - 2) + "px;top:" + (y2 - 2) + "px;width:4px;height:4px; z-index:2' fillcolor='" + line_code[j-1][0] + "' strokecolor='" + line_code[j-1][0] + "'/>");
    			break;
   			case 3:
    			document.write("<v:oval id='_x0000_s1026' style='position:absolute;left:" + (x2 - 2) + "px;top:" + (y2 - 2) + "px;width:4px;height:4px;z-index:1' fillcolor='" + line_code[j-1][0] + "' strokecolor='" + line_code[j-1][0] + "'/>");
    			break;
  		}
	}
 
	for(var i=0;i<total_no-1;i++)
	{
 		document.write("<v:line id='_x0000_s1027' alt='' style='position:absolute;left:0;text-align:left;top:0;flip:y;z-index:-1' from='" + (table_x + left_width + all_width * (i)/(total_no-1)) + "px," + (table_y + all_height) + "px' to='" + (table_x + left_width + all_width * (i)/(total_no-1)) + "px," + (table_y + all_height + 15) + "px'/>");
 		document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (table_x + left_width + all_width * (i)/(total_no-1)) + "px;top:" + (table_y + all_height) + "px;width:" + (all_width/(total_no-1)) + "px;height:18px;z-index:1'>");
 		document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>" + total[0][i] + "</td></tr></table></v:textbox></v:shape>");
	}
	var tb_height = 30
	document.write("<v:rect id='_x0000_s1025' style='position:absolute;left:" + (table_x + all_width + 20) + "px;top:" + table_y + "px;width:100px;height:" + (line_no * tb_height + 20) + "px;z-index:1'/>");
	for(var i=0;i<line_no;i++)
	{
 		document.write("<v:shape id='_x0000_s1025' type='#_x0000_t202' alt='' style='position:absolute;left:" + (table_x + all_width + 25) + "px;top:" + (table_y + 10+(i) * tb_height) + "px;width:60px;height:" + tb_height + "px;z-index:1'>");
 		document.write("<v:textbox inset='0px,0px,0px,0px'><table cellspacing='3' cellpadding='0' width='100%' height='100%'><tr><td align='left'>" + line_code[i][4] + "</td></tr></table></v:textbox></v:shape>");
 		document.write("<v:rect id='_x0000_s1040' alt='' style='position:absolute;left:" + (table_x + all_width + 80) + "px;top:" + (table_y + 10+(i) * tb_height + 4) + "px;width:30px;height:20px;z-index:1' fillcolor='" + line_code[i][0] + "'><v:fill color2='" + line_code[i][0] + "' rotate='t' focus='100%' type='gradient'/></v:rect>");
	}
}
